
#ifndef DXF_CREATIONADAPTER_H
#define DXF_CREATIONADAPTER_H

#include "dxf_creationinterface.h"
#include "dxflib_export.h"

/**
 * An abstract adapter class for receiving DXF events when a DXF file is being read. 
 * The methods in this class are empty. This class exists as convenience for creating 
 * listener objects.
 */
class DXFLIB_EXPORT DXF_CreationAdapter : public DXF_CreationInterface {
public:
    DXF_CreationAdapter() {}
    virtual ~DXF_CreationAdapter() {}
    virtual void addLayer(const DXF_LayerAttribute&) {}
    virtual void addBlock(const DXF_BlockAttribute&) {}
    virtual void endBlock() {}
    virtual void addPoint(const DXF_PointAttribute&) {}
    virtual void addLine(const DXF_LineAttribute&) {}
    virtual void addArc(const DXF_ArcAttribute&) {}
    virtual void addCircle(const DXF_CircleAttribute&) {}
    virtual void addEllipse(const DXF_EllipseAttribute&) {}
	
    virtual void addPolyline(const DXF_PolylineAttribute&) {}
    virtual void addVertex(const DXF_VertexAttribute&) {}
	
    virtual void addSpline(const DXF_SplineAttribute&) {}
    virtual void addControlPoint(const DXF_ControlPointAttribute&) {}
    virtual void addKnot(const DXF_KnotAttribute&) {}
	
    virtual void addInsert(const DXF_InsertAttribute&) {}
	
    virtual void addMText(const DXF_MTextAttribute&) {}
    virtual void addMTextChunk(const char*) {}
    virtual void addText(const DXF_TextAttribute&) {}
	
    virtual void addDimAlign(const DXF_DimensionAttribute&,
                             const DXF_DimAlignedAttribute&) {}
    virtual void addDimLinear(const DXF_DimensionAttribute&,
                              const DXF_DimLinearAttribute&) {}
    virtual void addDimRadial(const DXF_DimensionAttribute&,
                              const DXF_DimRadialAttribute&) {}
    virtual void addDimDiametric(const DXF_DimensionAttribute&,
                              const DXF_DimDiametricAttribute&) {}
    virtual void addDimAngular(const DXF_DimensionAttribute&,
                              const DXF_DimAngularAttribute&) {}
    virtual void addDimAngular3P(const DXF_DimensionAttribute&,
                              const DXF_DimAngular3PAttribute&) {}
    virtual void addDimOrdinate(const DXF_DimensionAttribute&,
                             const DXF_DimOrdinateAttribute&) {}
    virtual void addLeader(const DXF_LeaderAttribute&) {}
    virtual void addLeaderVertex(const DXF_LeaderVertexAttribute&) {}
	
    virtual void addHatch(const DXF_HatchAttribute&) {}

    virtual void addTrace(const DXF_TraceAttribute&) {}
    virtual void add3dFace(const DXF_3dFaceAttribute&) {}
    virtual void addSolid(const DXF_SolidAttribute&) {}
	
    virtual void addImage(const DXF_ImageAttribute&) {}
	virtual void linkImage(const DXF_ImageDefAttribute&) {}
    virtual void addHatchLoop(const DXF_HatchLoopAttribute&) {}
    virtual void addHatchEdge(const DXF_HatchEdgeAttribute&) {}
    virtual void endEntity() {}
    virtual void addComment(const char* comment) {}
    virtual void setVariableVector(const char*, 
	               double, double, double, int) {}
    virtual void setVariableString(const char*, const char*, int) {}
    virtual void setVariableInt(const char*, int, int) {}
    virtual void setVariableDouble(const char*, double, int) {}
    virtual void endSequence() {}
};

#endif
